package com.snpic.appaw.module.third.api.bjpt.dto.iSPolicyQuery;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
 * @author JiJun
 * @date 2025/9/19 18:44
 * @修改时间 2025/9/19 18:44
 * @description
 */

@Data
@Schema(description = "保单主信息数据传输对象")
public class ISMainDTO {

    @Schema(description = "保单号", maxLength = 30)
    private String policyNo;

    @Schema(description = "投保单号", maxLength = 30)
    private String proposalNo;

    @Schema(description = "保单印刷号", maxLength = 30)
    private String printNo;

    @Schema(description = "续保保单号", maxLength = 30)
    private String replacedPolicyNo;

    @Schema(description = "币别代码 [详见码表]", maxLength = 3)
    private String currency;

    @Schema(description = "总承保保费", example = "1000.00")
    private BigDecimal sumUWPremium;

    @Schema(description = "总保额", example = "500000.00")
    private BigDecimal sumInsured;

    @Schema(description = "争议解决方式", maxLength = 1)
    private String argueSolution;

    @Schema(description = "仲裁委员会", maxLength = 200)
    private String arbitoryName;

    @Schema(description = "0未注销1已注销", maxLength = 1)
    private String cancelInd;

    @Schema(description = "录单日期")
    private Date inputDate;

    @Schema(description = "操作员代码(坐席ID)", maxLength = 50)
    private String operatorCode;

    @Schema(description = "操作员名称", maxLength = 200)
    private String operatorName;

    @Schema(description = "核保完成日期")
    private Date underWriteEndDate;

    @Schema(description = "打印日期")
    private Date printDate;

    @Schema(description = "业务来源(来源于销管)", maxLength = 4)
    private String businessSource;

    @Schema(description = "业务渠道", maxLength = 10)
    private String businessChannel;

    @Schema(description = "业务归属机构", maxLength = 10)
    private String companyCode;

    @Schema(description = "业务归属机构名称", maxLength = 100)
    private String companyName;

    @Schema(description = "签单机构", maxLength = 10)
    private String issueCompany;

    @Schema(description = "签单机构名称", maxLength = 100)
    private String issueCompanyName;

    @Schema(description = "关联保单保险公司代码", maxLength = 40)
    private String relationComCode;

    @Schema(description = "关联交强险保单号", maxLength = 30)
    private String mainPolicyNo;

    @Schema(description = "收付确认时间")
    private Date payRefTime;

    @Schema(description = "核保人代码", maxLength = 50)
    private String underwriteCode;

    @Schema(description = "核保人名称", maxLength = 400)
    private String underWriteName;

    @Schema(description = "公司名称", maxLength = 400)
    private String companyCName;

    @Schema(description = "公司地址", maxLength = 400)
    private String addressCName;

    @Schema(description = "邮政编码", maxLength = 6)
    private String postCode;

    @Schema(description = "即时生效标志 0-否 1-是", maxLength = 4)
    private String effectFlag;

    @Schema(description = "起保日期(YYYY-MM-DD)")
    private Date startDate;

    @Schema(description = "终保日期(YYYY-MM-DD)")
    private Date endDate;

    @Schema(description = "销售地区（电子保单打印时候使用）", maxLength = 50)
    private String salesArea;

    @Schema(description = "承保年度", maxLength = 4)
    private String uwYear;

    @Schema(description = "业务员名称", maxLength = 100)
    private String salesmanName;

    @Schema(description = "业务员工号", maxLength = 100)
    private String salesmanCode;

    @Schema(description = "中介名称", maxLength = 100)
    private String intermediaryName;

    @Schema(description = "网点服务码", maxLength = 100)
    private String netServiceCode;

    @Schema(description = "网点服务码名称", maxLength = 100)
    private String netServiceName;

    @Schema(description = "送修代码", maxLength = 100)
    private String sendRepairCode;

    @Schema(description = "中介协议号", maxLength = 100)
    private String agreementNo;

    @Schema(description = "远程出单点", maxLength = 100)
    private String remoteSpotCode;

    @Schema(description = "渠道类型", maxLength = 100)
    private String channelDetailCode;

    @Schema(description = "分配方案代码", maxLength = 100)
    private String solutionCode;

    @Schema(description = "被保险人名称", maxLength = 100)
    private String insuredName;

    @Schema(description = "投保人名称", maxLength = 100)
    private String appliName;

    @Schema(description = "产品代码", maxLength = 4)
    private String productCode;

    @Schema(description = "中介代码", maxLength = 12)
    private String interMediaryCode;

    @Schema(description = "新/续保标志", maxLength = 1)
    private String renewInd;

    @Schema(description = "单证资料是否齐全")
    private String cardCollcetFlag;

    @Schema(description = "承保确认时间")
    private Date acceptDate;

    @Schema(description = "是否投保人车联动")
    private String rcldInd;

    @Schema(description = "是否投保驾意险")
    private String isInsureDriveAccident;

    @Schema(description = "新老公司标识", maxLength = 2)
    private String newCompanyFlag;
}
